function adaptor(payload, response, api, context) {
    //payload：当前请求的响应 payload，即 response.data
    //response：当前请求的原始响应
    //api：api 上的配置项，还可以通过 api.data 获得数据域里的内容
    //context 发送请求时的上下文数据
    console.log(context); // 打印上下文数据
    return response.data;
}

// 未登录，跳转到登录界面
function adaptor(payload, response, api, context) {
    if (response.data.status == 401) {
        localStorage.clear();
        window.location.href = "/login"
    }
    return response.data;
}


// 登录成功, 缓存token
function adaptor(payload, response, api, context) {
    if (response.data.status == 0) {
        localStorage.setItem("token", "sk-abc");
    }
    return response.data;
}

function requestAdaptor(api, context){
    //送适配器 是指在接口请求前，对请求进行一些自定义处理，例如修改发送数据体、添加请求头、等等，基本用法是，获取暴露的api参数，并且对该参数进行一些修改，并return出去
    //如果 api 发送适配器中，修改 api 对象，在 api 对象里面放入 mockResponse 属性，则会拦截请求发送，amis 内部会直接使用 mockResponse 的结果返回。
    // 拦截请求
    return {
        // 模拟 http 请求返回
        mockResponse: {
          status: 200, // http 返回状态
          data: {
            // http 返回结果
            status: 0, // amis 返回数据的状态
            data: {
              name: '模拟返回的值'
            }
          }
        }
      };
    }
}

function requestAdaptor(api, context){
    console.log(context); // 打印上下文数据
    // 一定要将调整后的 api 对象 return 出去
    return {
      ...api,
      data: {
        ...api.data,
        foo: 'bar'
      }
    };
}

// 为每个后端接口配置请求头权限
function requestAdaptor(api, context){
    headers = api.headers
    headers["token"] = localStorage.getItem("token")
    return {
      ...api,
      headers: headers,
      data: {
        ...api.data,
        foo: 'bar'
      }
    };
}